home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / shells / tcshsrc.zoo / tcsh / sh.init.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-25  |  20.1 KB  |  688 lines

  1. /* $Header: /home/hyperion/mu/christos/src/sys/tcsh-6.00/RCS/sh.init.c,v 3.6 1991/08/06 01:08:03 christos Exp $ */
  2. /*
  3.  * sh.init.c: Function and signal tables
  4.  */
  5. /*-
  6.  * Copyright (c) 1980, 1991 The Regents of the University of California.
  7.  * All rights reserved.
  8.  *
  9.  * Redistribution and use in source and binary forms, with or without
  10.  * modification, are permitted provided that the following conditions
  11.  * are met:
  12.  * 1. Redistributions of source code must retain the above copyright
  13.  *    notice, this list of conditions and the following disclaimer.
  14.  * 2. Redistributions in binary form must reproduce the above copyright
  15.  *    notice, this list of conditions and the following disclaimer in the
  16.  *    documentation and/or other materials provided with the distribution.
  17.  * 3. All advertising materials mentioning features or use of this software
  18.  *    must display the following acknowledgement:
  19.  *    This product includes software developed by the University of
  20.  *    California, Berkeley and its contributors.
  21.  * 4. Neither the name of the University nor the names of its contributors
  22.  *    may be used to endorse or promote products derived from this software
  23.  *    without specific prior written permission.
  24.  *
  25.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  26.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  27.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  28.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  29.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  30.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  31.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  32.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  33.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  34.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35.  * SUCH DAMAGE.
  36.  */
  37. #include "config.h"
  38. RCSID("$Id: sh.init.c,v 3.6 1991/08/06 01:08:03 christos Exp $")
  39.  
  40. #include "sh.h"
  41. #include "ed.h"
  42.  
  43. /*
  44.  * C shell
  45.  */
  46.  
  47. #define    INF    0x7fffffff
  48.  
  49. struct    biltins bfunc[] = {
  50.     { "@",    dolet,        0,    INF, },
  51.     { "alias",    doalias,    0,    INF, },
  52.     { "aliases",    doaliases,    0,    1, /* PWP */ },
  53.     { "alloc",    showall,    0,    1, },
  54.     { "bg",    dobg,        0,    INF, },
  55.     { "bind",    dobind,        0,    2, },
  56.     { "bindkey",    dobindkey,    0,    8, },
  57.     { "break",    dobreak,    0,    0, },
  58.     { "breaksw",    doswbrk,    0,    0, },
  59. #if defined(IIASA) || defined(KAI)
  60.     { "bye",    goodbye,    0,    0, },
  61. #endif
  62.     { "case",    dozip,        0,    1, },
  63.     { "cd",    dochngd,    0,    INF, },
  64.     { "chdir",    dochngd,    0,    INF, },
  65.     { "continue",    docontin,    0,    0, },
  66.     { "default",    dozip,        0,    0, },
  67.     { "dirs",    dodirs,        0,    INF, },
  68.     { "echo",    doecho,        0,    INF, },
  69.     { "echotc",    doechotc,    0,    INF, },
  70.     { "else",    doelse,        0,    INF, },
  71.     { "end",    doend,        0,    0, },
  72.     { "endif",    dozip,        0,    0, },
  73.     { "endsw",    dozip,        0,    0, },
  74.     { "eval",    doeval,        0,    INF, },
  75.     { "exec",    execash,    1,    INF, },
  76.     { "exit",    doexit,        0,    INF, },
  77.     { "fg",    dofg,        0,    INF, },
  78.     { "foreach",    doforeach,    3,    INF, },
  79. #ifdef TCF
  80.     { "getspath",    dogetspath,    0,    0, },
  81.     { "getxvers", dogetxvers,    0,    0, },
  82. #endif /* TCF */
  83. #ifdef IIASA
  84.     { "gd",    dopushd,    0,    INF, },
  85. #endif
  86.     { "glob",    doglob,        0,    INF, },
  87.     { "goto",    dogoto,        1,    1, },
  88. #ifdef VFORK
  89.     { "hashstat",    hashstat,    0,    0, },
  90. #endif
  91.     { "history",    dohist,        0,    2, },
  92.     { "if",    doif,        1,    INF, },
  93. #ifdef apollo
  94.     { "inlib",    doinlib,    1,    INF, },
  95. #endif
  96.     { "jobs",    dojobs,        0,    1, },
  97.     { "kill",    dokill,        1,    INF, },
  98. #ifndef HAVENOLIMIT
  99.     { "limit",    dolimit,    0,    3, },
  100. #endif /* ! HAVENOLIMIT */
  101.     { "linedit",    doecho,        0,    INF, },
  102. #ifndef KAI
  103.     { "log",    dolog,        0,    0, },
  104. #endif
  105.     { "login",    dologin,    0,    1, },
  106.     { "logout",    dologout,    0,    0, },
  107.     { "ls-F",    dolist,        0,    INF, },
  108. #ifdef TCF
  109.     { "migrate",    domigrate,    1,    INF, },
  110. #endif /* TCF */
  111. #ifdef NEWGRP
  112.     { "newgrp",    donewgrp,    1,    1, },
  113. #endif
  114.     { "nice",    donice,        0,    INF, },
  115.     { "nohup",    donohup,    0,    INF, },
  116.     { "notify",    donotify,    0,    INF, },
  117.     { "onintr",    doonintr,    0,    2, },
  118.     { "popd",    dopopd,        0,    INF, },
  119.     { "pushd",    dopushd,    0,    INF, },
  120. #ifdef IIASA
  121.     { "rd",    dopopd,        0,    INF, },
  122. #endif
  123.     { "rehash",    dohash,        0,    0, },
  124.     { "repeat",    dorepeat,    2,    INF, },
  125. #ifdef apollo
  126.     { "rootnode", dorootnode,    1,    1, },
  127. #endif
  128.     { "sched",    dosched,    0,    INF, },
  129.     { "set",    doset,        0,    INF, },
  130.     { "setenv",    dosetenv,    0,    2, },
  131. #ifdef MACH
  132.     { "setpath",    dosetpath,    0,    INF, },
  133. #endif    /* MACH */
  134. #ifdef TCF
  135.     { "setspath",    dosetspath,    1,    INF, },
  136. #endif /* TCF */
  137.     { "settc",    dosettc,    2,    2, },
  138.     { "setty",  dosetty,    0,      INF },
  139. #ifdef TCF
  140.     { "setxvers",    dosetxvers,    0,    1, },
  141. #endif /* TCF */
  142.     { "shift",    shift,        0,    1, },
  143.     { "source",    dosource,    1,    2, },
  144.     { "stop",    dostop,        1,    INF, },
  145.     { "suspend",    dosuspend,    0,    0, },
  146.     { "switch",    doswitch,    1,    INF, },
  147.     { "telltc",    dotelltc,    0,    INF, },
  148.     { "time",    dotime,        0,    INF, },
  149.     { "umask",    doumask,    0,    1, },
  150.     { "unalias",    unalias,    1,    INF, },
  151.     { "unhash",    dounhash,    0,    0, },
  152. #ifdef masscomp
  153.     { "universe",    douniverse,    0,    1, },
  154. #endif
  155. #ifndef HAVENOLIMIT
  156.     { "unlimit",    dounlimit,    0,    INF, },
  157. #endif /* !HAVENOLIMIT */
  158.     { "unset",    unset,        1,    INF, },
  159.     { "unsetenv",    dounsetenv,    1,    INF, },
  160. #ifdef apollo
  161.     { "ver",    dover,        0,    INF, },
  162. #endif
  163.     { "wait",    dowait,        0,    0, },
  164. #ifdef WARP
  165.     { "warp",    dowarp,        0,    2, },
  166. #endif
  167. #ifdef KAI
  168.     { "watchlog",    dolog,        0,    0, },
  169. #endif
  170.     { "which",    dowhich,    1,    INF, },
  171.     { "while",    dowhile,    1,    INF, },
  172. };
  173. int nbfunc = sizeof bfunc / sizeof *bfunc;
  174.  
  175. struct srch srchn[] = {
  176.     { "@",    T_LET, },
  177.     { "break",    T_BREAK, },
  178.     { "breaksw",    T_BRKSW, },
  179.     { "case",    T_CASE, },
  180.     { "default",     T_DEFAULT, },
  181.     { "else",    T_ELSE, },
  182.     { "end",    T_END, },
  183.     { "endif",    T_ENDIF, },
  184.     { "endsw",    T_ENDSW, },
  185.     { "exit",    T_EXIT, },
  186.     { "foreach",     T_FOREACH, },
  187.     { "goto",    T_GOTO, },
  188.     { "if",    T_IF, },
  189.     { "label",    T_LABEL, },
  190.     { "set",    T_SET, },
  191.     { "switch",    T_SWITCH, },
  192.     { "while",    T_WHILE, },
  193. };
  194. int nsrchn = sizeof srchn / sizeof *srchn;
  195.  
  196. /*
  197.  * Note: For some machines, (hpux eg.)
  198.  * NSIG = number of signals + 1...
  199.  * so we define 33 signals for 
  200.  * everybody
  201.  */
  202. struct    mesg mesg[] = {
  203. /*  0 */    0,        "",
  204. /*  1 */    "HUP",        "Hangup",
  205. /*  2 */    "INT",        "Interrupt",    
  206. /*  3 */    "QUIT",        "Quit",
  207. /*  4 */    "ILL",        "Illegal instruction",
  208. /*  5 */    "TRAP",        "Trace/BPT trap",
  209. /*  6 */    "IOT",        "IOT trap",
  210. #ifdef aiws
  211. /*  7 */    "DANGER",     "System Crash Imminent",
  212. #else /* aiws */
  213. /*  7 */    "EMT",        "EMT trap",
  214. #endif /* aiws */
  215. /*  8 */    "FPE",        "Floating exception",
  216. /*  9 */    "KILL",        "Killed",
  217. /* 10 */    "BUS",        "Bus error",
  218. /* 11 */    "SEGV",        "Segmentation fault",
  219. /* 12 */    "SYS",        "Bad system call",
  220. /* 13 */    "PIPE",        "Broken pipe",
  221. /* 14 */    "ALRM",        "Alarm clock",
  222. /* 15 */    "TERM",        "Terminated",
  223.  
  224. #if (SVID > 0) || defined(DGUX) || defined(IBMAIX) || defined(apollo)
  225.  
  226. # ifdef _sigextra_
  227. #  undef  _sigextra_
  228. # endif /* _sigextra_ */
  229.  
  230. #ifndef IBMAIX
  231. /* these are the real svid signals */
  232. /* 16 */    "USR1",        "User signal 1",
  233. /* 17 */    "USR2",     "User signal 2",
  234. # ifdef apollo
  235. /* 18 */    "CLD",        "Death of child",
  236. /* 19 */    "APOLLO",      "Apollo-specific fault",
  237. # else
  238. /* 18 */    "CHLD",        "Child exited",
  239. /* 19 */    "PWR",      "Power failure",
  240. # endif /* apollo */
  241. #endif /* IBMAIX */
  242.  
  243.  
  244. /*
  245. **  In the UNIXpc these signal *ARE* used!!
  246. */
  247. #ifdef UNIXPC
  248. /* 20 */    "WIND",        "Window status changed",
  249. /* 21 */    "PHONE",     "Phone status changed",
  250. #endif
  251.  
  252.  
  253. # ifdef OREO
  254. #  define _sigextra_
  255. #  ifdef SUSPENDED
  256. /* 20 */    "TSTP",        "Suspended",
  257. /* 21 */    "TTIN",     "Suspended (tty input)",
  258. /* 22 */    "TTOU",     "Suspended (tty output)",
  259. /* 23 */    "STOP",        "Suspended (signal)",
  260. #  else
  261. /* 20 */    "TSTP",        "Stopped",
  262. /* 21 */    "TTIN",     "Stopped (tty input)",
  263. /* 22 */    "TTOU",     "Stopped (tty output)",
  264. /* 23 */    "STOP",        "Stopped (signal)",
  265. #  endif /* SUSPENDED */
  266. /* 24 */    "XCPU",        "Cputime limit exceeded",
  267. /* 25 */    "XFSZ",     "Filesize limit exceeded",
  268. /* 26 */    "VTALRM",     "Virtual time alarm",
  269. /* 27 */    "PROF",     "Profiling time alarm",
  270. /* 28 */    "WINCH",     "Window changed",
  271. /* 29 */    "CONT",        "Continued",
  272. /* 30 */    "URG",        "Urgent condition on IO channel",
  273. /* 31 */    "IO",        "Asynchronous I/O (select)",
  274. /* 32 */    0,        "Signal 32",
  275. # endif /* OREO */
  276.  
  277. # ifdef hpux
  278. #  define _sigextra_
  279. /* 20 */    "VTALRM",     "Virtual time alarm",
  280. /* 21 */    "PROF",     "Profiling time alarm",
  281. /* 22 */    "IO",         "Asynchronous I/O (select)",
  282. /* 23 */    "WINDOW",     "Window changed",
  283. #  ifdef SUSPENDED
  284. /* 24 */    "STOP",        "Suspended (signal)",
  285. /* 25 */    "TSTP",        "Suspended",
  286. #  else /* SUSPENDED */
  287. /* 24 */    "STOP",        "Stopped (signal)",
  288. /* 25 */    "TSTP",        "Stopped",
  289. #  endif /* SUSPENDED */
  290. /* 26 */    "CONT",        "Continued",
  291. #  ifdef SUSPENDED
  292. /* 27 */    "TTIN",     "Suspended (tty input)",
  293. /* 28 */    "TTOU",     "Suspended (tty output)",
  294. #  else /* SUSPENDED */
  295. /* 27 */    "TTIN",     "Stopped (tty input)",
  296. /* 28 */    "TTOU",     "Stopped (tty output)",
  297. #  endif /* SUSPENDED */
  298. /* 29 */    "URG",        "Urgent condition on IO channel",
  299. /* 30 */    "LOST",        "Remote lock lost (NFS)",
  300. /* 31 */    0,         "Reserved", /* Reserved */
  301. /* 32 */    "DIL",        "DIL signal",
  302. # endif /* hpux */
  303.  
  304. # if defined(ISC) && defined(POSIX) 
  305. #  define _sigextra_
  306. /* 20 */    "WINCH",     "Window change",
  307. /* 21 */    0,         "Unused", /* SIGPHONE used only for UNIXPC */
  308. /* 22 */    "POLL",     "Pollable event occured",
  309. /* 23 */    "CONT",     "Continued",
  310. #  ifdef SUSPENDED
  311. /* 24 */    "STOP",        "Suspended (signal)",
  312. /* 25 */    "TSTP",        "Suspended",
  313. /* 26 */    "TTIN",     "Suspended (tty input)",
  314. /* 27 */    "TTOU",     "Suspended (tty output)",
  315. #  else /* SUSPENDED */
  316. /* 24 */    "STOP",        "Stopped (signal)",
  317. /* 25 */    "TSTP",        "Stopped",
  318. /* 26 */    "TTIN",     "Stopped (tty input)",
  319. /* 27 */    "TTOU",     "Stopped (tty output)",
  320. #  endif /* SUSPENDED */
  321. /* 28 */    0,          "number of signals",
  322. /* 29 */    0,        "Reserved", /* Reserved */
  323. /* 30 */    0,        "Reserved", /* Reserved */
  324. /* 31 */    0,         "Reserved", /* Reserved */
  325. /* 32 */    0,        "Maximum number of signals",
  326. # endif /* ISC && POSIX */
  327.  
  328. # if defined(SCO) && defined(POSIX) 
  329. #  define _sigextra_
  330. /* 20 */    "WINCH",     "Window change",
  331. /* 21 */    0,         "Unused", /* SIGPHONE used only for UNIXPC */
  332. /* 22 */    "POLL",     "Pollable event occured",
  333. #  ifdef SUSPENDED
  334. /* 23 */    "STOP",        "Suspended (signal)",
  335. /* 24 */    "TSTP",        "Suspended",
  336. /* 25 */    "CONT",     "Continued",
  337. /* 26 */    "TTIN",     "Suspended (tty input)",
  338. /* 27 */    "TTOU",     "Suspended (tty output)",
  339. #  else /* SUSPENDED */
  340. /* 23 */    "STOP",        "Stopped (signal)",
  341. /* 24 */    "TSTP",        "Stopped",
  342. /* 25 */    "CONT",     "Continued",
  343. /* 26 */    "TTIN",     "Stopped (tty input)",
  344. /* 27 */    "TTOU",     "Stopped (tty output)",
  345. #  endif /* SUSPENDED */
  346. /* 28 */    0,          "number of signals",
  347. /* 29 */    0,        "Reserved", /* Reserved */
  348. /* 30 */    0,        "Reserved", /* Reserved */
  349. /* 31 */    0,         "Reserved", /* Reserved */
  350. /* 32 */    0,        "Maximum number of signals",
  351. # endif /* SCO && POSIX */
  352.  
  353. # ifdef IRIS4D
  354. #  define _sigextra_
  355. #  ifdef SUSPENDED
  356. /* 20 */    "STOP",        "Suspended (signal)",
  357. /* 21 */    "TSTP",        "Suspended",
  358. #  else /* SUSPENDED */
  359. /* 20 */    "STOP",        "Stopped (signal)",
  360. /* 21 */    "TSTP",        "Stopped",
  361. #  endif /* SUSPENDED */
  362. /* 22 */    "POLL",     "Stream I/O pending",
  363. /* 23 */    "IO",         "Asynchronous I/O (select)",
  364. /* 24 */    "URG",        "Urgent condition on IO channel",
  365. /* 25 */    "WINCH",     "Window changed",
  366. /* 26 */    "VTALRM",     "Virtual time alarm",
  367. /* 27 */    "PROF",     "Profiling time alarm",
  368. /* 28 */    "CONT",        "Continued",
  369. #  ifdef SUSPENDED
  370. /* 29 */    "TTIN",     "Suspended (tty input)",
  371. /* 30 */    "TTOU",     "Suspended (tty output)",
  372. #  else /* SUSPENDED */
  373. /* 29 */    "TTIN",     "Stopped (tty input)",
  374. /* 30 */    "TTOU",     "Stopped (tty output)",
  375. #  endif /* SUSPENDED */
  376. /* 31 */    0,        "Signal 31",
  377. /* 32 */    0,        "Signal 32",
  378. # endif /* IRIS4D */
  379.  
  380. # ifdef IRIS3D
  381. #  define _sigextra_
  382. /* 20 */    0,        "Signal 20",
  383. /* 21 */    0,        "Signal 21",
  384. /* 22 */    0,        "Signal 22",
  385. /* 23 */    0,        "Signal 23",
  386. /* 24 */    0,        "Signal 24",
  387. /* 25 */    "WINCH",     "Window changed",
  388. /* 26 */    "IO",         "Asynchronous I/O (select)",
  389. /* 27 */    "URG",        "Urgent condition on IO channel",
  390. /* 28 */    "POLL",     "Stream I/O pending",
  391. /* 29 */    0,        "Signal 29",
  392. /* 30 */    0,        "Signal 30",
  393. /* 31 */    0,        "Signal 31",
  394. /* 32 */    0,        "Signal 32",
  395. # endif /* IRIS3D */
  396.  
  397. # ifdef apollo
  398. #  define _sigextra_
  399. #  ifdef SUSPENDED
  400. /* 20 */    "STOP",        "Suspended (signal)",
  401. /* 21 */    "TSTP",        "Suspended",
  402. #  else /* SUSPENDED */
  403. /* 20 */    "STOP",        "Stopped (signal)",
  404. /* 21 */    "TSTP",        "Stopped",
  405. #  endif /* SUSPENDED */
  406. /* 22 */    "CONT",        "Continued",
  407. /* 23 */    "CHLD",        "Child stopped or exited",
  408. #  ifdef SUSPENDED
  409. /* 24 */    "TTIN",     "Suspended (tty input)",
  410. /* 25 */    "TTOU",     "Suspended (tty output)",
  411. #  else /* SUSPENDED */
  412. /* 24 */    "TTIN",     "Stopped (tty input)",
  413. /* 25 */    "TTOU",     "Stopped (tty output)",
  414. #  endif /* SUSPENDED */
  415. /* 26 */    "IO",         "Asynchronous I/O (select)",
  416. /* 27 */    "XCPU",        "Cputime limit exceeded",
  417. /* 28 */    "XFSZ",     "Filesize limit exceeded",
  418. /* 29 */    "VTALRM",     "Virtual time alarm",
  419. /* 30 */    "PROF",     "Profiling time alarm",
  420. /* 31 */    "URG",        "Urgent condition on IO channel",
  421. /* 32 */    "WINCH",     "Window changed",
  422. # endif /* apollo */
  423.  
  424. # ifdef aiws
  425. #  define _sigextra_
  426. /* 20 */    0,        "Signal 20",
  427. /* 21 */    0,        "Signal 21",
  428. /* 22 */    0,        "Signal 22"
  429. /* 23 */    "AIO",         "LAN Asyncronous I/O",
  430. /* 24 */    "PTY",         "PTY read/write availability",
  431. /* 25 */    "IOINT",     "I/O intervention required",
  432. /* 26 */    "GRANT",     "monitor mode granted",
  433. /* 27 */    "RETRACT",     "monitor mode retracted",
  434. /* 28 */    "WINCH","Window size changed",
  435. /* 29 */    0,        "Signal 29",
  436. /* 30 */    "SOUND",     "sound completed",
  437. /* 31 */    "MSG",         "input hft data pending",
  438. /* 32 */    0,        "Signal 32",
  439. # endif /* aiws */
  440.  
  441. # ifdef m88k                /* ICON/UXV 4.10 (mday@iconsys.UUCP) */
  442. #  define _sigextra_
  443. /* 20 */    "WINCH",     "Window changed",
  444. # ifdef DGUX
  445. /* 21 */    0,        "Signal 21",
  446. # else
  447. #  ifdef SUSPENDED
  448. /* 21 */    "TTIN",     "Suspended (tty input)",
  449. #  else /* SUSPENDED */
  450. /* 21 */    "TTIN",     "Stopped (tty input)",
  451. #  endif /* SUSPENDED */
  452. # endif /* DGUX */
  453. /* 22 */    "POLL",     "Stream I/O pending",
  454. # ifdef SUSPENDED
  455. /* 23 */    "STOP",        "Suspended (signal)",
  456. /* 24 */    "TSTP",        "Suspended",
  457. # else /* SUSPENDED */
  458. /* 23 */    "STOP",        "Stopped (signal)",
  459. /* 24 */    "TSTP",        "Stopped",
  460. # endif /* SUSPENDED */
  461. /* 25 */    "CONT",        "Continued",
  462. # ifdef SUSPENDED
  463. /* 26 */    "TTIN",     "Suspended (tty input)",
  464. /* 27 */    "TTOU",     "Suspended (tty output)",
  465. # else /* SUSPENDED */
  466. /* 26 */    "TTIN",     "Stopped (tty input)",
  467. /* 27 */    "TTOU",     "Stopped (tty output)",
  468. # endif /* SUSPENDED */
  469. /* 28 */    0,        "Signal 28",
  470. /* 29 */    0,        "Signal 29",
  471. /* 30 */    0,        "Signal 30",
  472. /* 31 */    0,        "Signal 31",
  473. /* 32 */    0,        "Signal 32",
  474. /* 33 */    "URG",        "Urgent condition on IO channel",
  475. /* 34 */    "IO",         "Asynchronous I/O (select)",
  476. /* 35 */    "XCPU",        "Cputime limit exceeded",
  477. /* 36 */    "XFSZ",     "Filesize limit exceeded",
  478. /* 37 */    "VTALRM",     "Virtual time alarm",
  479. /* 38 */    "PROF",        "Profiling time alarm",
  480. /* 39 */    0,        "Signal 39",
  481. /* 40 */    "LOST",        "Resource lost",
  482. /* 41 */    0,        "Signal 41",
  483. /* 42 */    0,        "Signal 42",
  484. /* 43 */    0,        "Signal 43",
  485. /* 44 */    0,        "Signal 44",
  486. /* 45 */    0,        "Signal 45",
  487. /* 46 */    0,        "Signal 46",
  488. /* 47 */    0,        "Signal 47",
  489. /* 48 */    0,        "Signal 48",
  490. /* 49 */    0,        "Signal 49",
  491. /* 50 */    0,        "Signal 50",
  492. /* 51 */    0,        "Signal 51",
  493. /* 52 */    0,        "Signal 52",
  494. /* 53 */    0,        "Signal 53",
  495. /* 54 */    0,        "Signal 54",
  496. /* 55 */    0,        "Signal 55",
  497. /* 56 */    0,        "Signal 56",
  498. /* 57 */    0,        "Signal 57",
  499. /* 58 */    0,        "Signal 58",
  500. /* 59 */    0,        "Signal 59",
  501. /* 60 */    0,        "Signal 60",
  502. /* 61 */    0,        "Signal 61",
  503. /* 62 */    0,        "Signal 62",
  504. /* 63 */    0,        "Signal 63",
  505. /* 64 */    0,        "Signal 64",
  506. # endif /* m88k */
  507.  
  508.  
  509. #ifdef IBMAIX
  510. # define _sigextra_
  511.  
  512. /* 16 */    "URG",        "Urgent condition on IO channel",
  513. # ifdef SUSPENDED
  514. /* 17 */    "STOP",        "Suspended (signal)",
  515. /* 18 */    "TSTP",        "Suspended",
  516. # else /* SUSPENDED */
  517. /* 17 */    "STOP",        "Stopped (signal)",
  518. /* 18 */    "TSTP",        "Stopped",
  519. # endif /* SUSPENDED */
  520. /* 19 */    "CONT",        "Continued",
  521. /* 20 */    "CHLD",        "Child exited",
  522. # ifdef SUSPENDED
  523. /* 21 */    "TTIN",     "Suspended (tty input)",
  524. /* 22 */    "TTOU",     "Suspended (tty output)",
  525. # else /* SUSPENDED */
  526. /* 21 */    "TTIN",     "Stopped (tty input)",
  527. /* 22 */    "TTOU",     "Stopped (tty output)",
  528. # endif /* SUSPENDED */
  529. /* 23 */    "IO",       "IO possible interrupt",
  530. /* 24 */    "XCPU",        "Cputime limit exceeded",
  531. /* 25 */    "XFSZ",     "Filesize limit exceeded",
  532. /* 26 */    0,        "Signal 26",
  533. /* 27 */    "MSG",         "Data in HFT ring buffer",
  534. /* 28 */    "WINCH",    "Window size changed",
  535. /* 29 */    "PWR",        "Power failure",
  536. /* 30 */    "USR1",        "User signal 1",
  537. /* 31 */    "USR2",     "User signal 2",
  538. /* 32 */    "PROF",        "Profiling time alarm",
  539. /* 33 */    "DANGER",     "System Crash Imminent",
  540. /* 34 */    "VTALRM",     "Virtual time alarm",
  541. /* 35 */    "MIGRATE",    "Migrate process",
  542. /* 36 */    "PRE",          "Programming exception",
  543. /* 37 */    0,        "Signal 37",
  544. /* 38 */    0,        "Signal 38",
  545. /* 39 */    0,        "Signal 39",
  546. /* 40 */    0,        "Signal 40",
  547. /* 41 */    0,        "Signal 41",
  548. /* 42 */    0,        "Signal 42",
  549. /* 43 */    0,        "Signal 43",
  550. /* 44 */    0,        "Signal 44",
  551. /* 45 */    0,        "Signal 45",
  552. /* 46 */    0,        "Signal 46",
  553. /* 47 */    0,        "Signal 47",
  554. /* 48 */    0,        "Signal 48",
  555. /* 49 */    0,        "Signal 49",
  556. /* 50 */    0,        "Signal 50",
  557. /* 51 */    0,        "Signal 51",
  558. /* 52 */    0,        "Signal 52",
  559. /* 53 */    0,        "Signal 53",
  560. /* 54 */    0,        "Signal 54",
  561. /* 55 */    0,        "Signal 55",
  562. /* 56 */    0,        "Signal 56",
  563. /* 57 */    0,        "Signal 57",
  564. /* 58 */    0,        "Signal 58",
  565. /* 59 */    0,        "Signal 59",
  566. /* 60 */    "GRANT",     "HFT monitor mode granted",
  567. /* 61 */    "RETRACT",     "HFT monitor mode should be relinguished",
  568. /* 62 */    "SOUND",    "HFT sound control has completed",
  569. #ifdef SIGSAK
  570. /* 63 */    "SAK",        "Secure attention key",
  571. #else
  572. /* 63 */    0,            "Signal 63",
  573. #endif
  574. /* 64 */    0,        "Signal 64",
  575. #endif /* IBMAIX */
  576.  
  577. # ifdef _SEQUENT_
  578. #  define _sigextra_
  579. /* 20 */    "WINCH",     "Window changed",
  580. /* 21 */    0,        "Signal 21",
  581. /* 22 */    "POLL",     "Stream I/O pending",
  582. #  ifdef SUSPENDED
  583. /* 23 */    "STOP",        "Suspended (signal)",
  584. /* 24 */    "TSTP",        "Suspended",
  585. /* 25 */    "CONT",        "Continued",
  586. /* 26 */    "TTIN",     "Suspended (tty input)",
  587. /* 27 */    "TTOU",     "Suspended (tty output)",
  588. #  else /* SUSPENDED */
  589. /* 23 */    "STOP",        "Stopped (signal)",
  590. /* 24 */    "TSTP",        "Stopped",
  591. /* 25 */    "CONT",        "Continued",
  592. /* 26 */    "TTIN",     "Stopped (tty input)",
  593. /* 27 */    "TTOU",     "Stopped (tty output)",
  594. #  endif /* SUSPENDED */
  595. /* 28 */    0,         "Signal 28",
  596. /* 29 */    0,        "Signal 29",
  597. /* 30 */    0,         "Signal 30",
  598. /* 31 */    0,         "Signal 31",
  599. /* 32 */    0,        "Signal 32",
  600. # endif /* _SEQUENT_ */
  601.  
  602. # ifndef _sigextra_
  603. /* 20 */    0,        "Signal 20",
  604. /* 21 */    0,        "Signal 21",
  605. /* 22 */    0,        "Signal 22",
  606. /* 23 */    0,        "Signal 23",
  607. /* 24 */    0,        "Signal 24",
  608. /* 25 */    0,        "Signal 25",
  609. /* 26 */    0,        "Signal 26",
  610. /* 27 */    0,        "Signal 27",
  611. /* 28 */    0,        "Signal 28",
  612. /* 29 */    0,        "Signal 29",
  613. /* 30 */    0,        "Signal 30",
  614. /* 31 */    0,        "Signal 31",
  615. /* 32 */    0,        "Signal 32",
  616. # endif /* _sigextra_ */
  617.  
  618.  
  619. #else /* bsd */
  620.  
  621. # ifdef _sigextra_
  622. #  undef  _sigextra_
  623. # endif /* _sigextra_ */
  624.  
  625. /* 16 */    "URG",        "Urgent condition on IO channel",
  626. # ifdef SUSPENDED
  627. /* 17 */    "STOP",        "Suspended (signal)",
  628. /* 18 */    "TSTP",        "Suspended",
  629. # else /* SUSPENDED */
  630. /* 17 */    "STOP",        "Stopped (signal)",
  631. /* 18 */    "TSTP",        "Stopped",
  632. # endif /* SUSPENDED */
  633. /* 19 */    "CONT",        "Continued",
  634. /* 20 */    "CHLD",        "Child exited",
  635. # ifdef SUSPENDED
  636. /* 21 */    "TTIN",     "Suspended (tty input)",
  637. /* 22 */    "TTOU",     "Suspended (tty output)",
  638. # else /* SUSPENDED */
  639. /* 21 */    "TTIN",     "Stopped (tty input)",
  640. /* 22 */    "TTOU",     "Stopped (tty output)",
  641. # endif /* SUSPENDED */
  642. /* 23 */    "IO",       "IO possible interrupt",
  643. /* 24 */    "XCPU",        "Cputime limit exceeded",
  644. /* 25 */    "XFSZ",     "Filesize limit exceeded",
  645. /* 26 */    "VTALRM",     "Virtual time alarm",
  646. /* 27 */    "PROF",        "Profiling time alarm",
  647.  
  648. # if defined(sun) || defined(ultrix) || defined(hp9000) || defined(convex) || defined(__convex__)
  649. #  define _sigextra_
  650. /* 28 */    "WINCH",     "Window changed",
  651. /* 29 */    "LOST",        "Resource lost",
  652. /* 30 */    "USR1",        "User signal 1",
  653. /* 31 */    "USR2",        "User signal 2",
  654. /* 32 */    0,        "Signal 32",
  655. # endif /* sun */
  656.  
  657. # ifdef pyr
  658. #  define _sigextra_
  659. /* 28 */    "USR1",        "User signal 1",
  660. /* 29 */    "USR2",        "User signal 2",
  661. /* 30 */    "PWR",        "Power failure",
  662. /* 31 */    0,        "Signal 31",
  663. /* 32 */    0,        "Signal 32",
  664. # endif /* pyr */
  665.  
  666. # ifndef _sigextra_
  667. /* 28 */    "WINCH",    "Window size changed",
  668. #  ifdef RENO
  669. /* 29 */    "INFO",        "Information request",
  670. #  else
  671. /* 29 */    0,        "Signal 29",
  672. #  endif /* RENO */
  673. /* 30 */    "USR1",        "User defined signal 1",
  674. /* 31 */    "USR2",        "User defined signal 2",
  675. /* 32 */    0,        "Signal 32",
  676. # endif /* _sigextra_ */
  677.  
  678.  
  679. #endif /* (SVID > 0) || DGUX || IBMAIX */
  680.  
  681. /* These are here for systems with bad NSIG */
  682. #ifndef POSIX
  683. /* 33 */    0,        "Signal 33"
  684. #else /* POSIX */
  685. /* 65 */    0,        "Signal 65"
  686. #endif /* POSIX */
  687. };
  688.